package com.cw.DesignModel23.Behavioral.ChainofResponsibilityPattern.Chain1;

/**
 * 校验类的父类
 * 校验账号 , 校验密码 , 校验手机号 的请求类都需要继承该类
 */
public abstract class Verify {

    /**
     * 责任链的核心是类中包含一个自己
     *      包含一个与自己相同类型的对象
     * 责任链模式中的 校验器 封装一个 校验器 本身
     * 使用 protected 修饰的目的是让子类可以获取到该类
     */
    protected Verify verify;

    /**
     * 设置下一个校验器
     * @param verify
     */
    public void setNextVerify(Verify verify) {
        this.verify = verify;
    }

    /**
     * 校验过程
     * 需要子类进行实现
     *  抽象方法 , 需要子类实现 , 主要 实现 请求对象 需要的具体的业务逻辑 , 如校验 , 审批 等 ;
     */
    public abstract void deploy(UserAccount userAccount);
}

